package com.hc.trans;

import com.hc.common.bean.PageBean;
import com.hc.domain.User;
import com.hc.query.UserRegistVO;
import com.hc.res.UserDTO;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import org.mapstruct.factory.Mappers;

/**
 * 转换数据 - 用户列表
 * @author zhitb
 */
@Mapper
public interface UserTrans {

    UserTrans MAPPER = Mappers.getMapper(UserTrans.class);


    /**
     * 将UserRegistVO转换成User
     * @param userRegistVO
     * @return
     */
    User UserRegistVO2User(UserRegistVO userRegistVO);



    /**
     * 将User转换成UserBO
     * @param user
     * @return
     */
    UserDTO user2UserBo(User user);


    /**
     * 将PageBean<User>转换为PageBean<UserDTO>
     * @param user
     * @return
     */
    PageBean<UserDTO> user2UserBO(PageBean<User> user);

    /**
     * 将PageBean<User>转换为PageBean<UserDTO>
     * @param userPageBean
     * @param userBOPageBean
     */
    void user2UserBO(PageBean<User> userPageBean, @MappingTarget PageBean<UserDTO> userBOPageBean);
}
